一个问题!SOS``

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:37:03
利用一维数组,统计一个班学生0~9、10~19、20~29、…、90~99及100各分数段的人数。学生人数及成绩由键盘输入。

代码如下:

Dim a() As Integer, i As Integer
Dim bn(0 To 10) As Integer, k As Integer
n = InputBox("请输入学生人数")
ReDim a(n) As Integer
For i = 1 To n
a(i) = InputBox("输入第(" & i & ")学生的成绩")
k = Int(a(i) / 10)
bn(k) = bn(k) + 1
Next i
Print
For i = 0 To 9
Print (i * 10) & "~" & (i * 10 + 9) & "的学生人数:" & bn(i)
Next i
Print Tab(4); "100的学生人数:" & bn(i)

其中的k = Int(a(i) / 10)
bn(k) = bn(k) + 1 是什么含义哪?麻烦解释下!^_^

k = Int(a(i) / 10)

呵呵..90多分的人.除以10,再取整,就得9
而80多分的人除以10,再取整就得8..
依次类推..得出了.所有分数所在的区段.

bn(0)里面装的是不到10分的人
bn(1)是10到19分的人
bn(2)是装的20到29的人
...
bn(9)是装的90到99的人
bn(10)是装到100分的人

接上面所说的..如果一个学生的分数是85
k = Int(a(i) / 10)
k=8

然后接着看:
bn(k) = bn(k) + 1
bn(8)=0+1
'假设这是第1个学生的成绩..在区段8这个里面原人数是0个,现在有1个了.就加了1个..